/*
*---------------------------------------------------------------
*                        Lvgl Font Tool                         
*                                                               
* 注:使用unicode编码                                              
* 注:本字体文件由Lvgl Font Tool V0.4 生成                          
* 作者:阿里(qq:617622104)                                         
*---------------------------------------------------------------
*/


#include "lvgl.h"


static const uint8_t glyph_bitmap[] = {
/* . */
0x00,0x00,0x0c,0xfc,0x30,0x00,0x00,  //.....%@%.....
0x00,0x00,0x5e,0xfe,0x80,0x00,0x00,  //....+@@@+....
0x00,0x00,0x0c,0xfc,0x30,0x00,0x00,  //.....%@%.....


/* / */
0x00,0x00,0x00,0x00,0x0c,0xe8,0x00,  //.........%@+.
0x00,0x00,0x00,0x00,0x8e,0xe8,0x00,  //........+@@+.
0x00,0x00,0x00,0x00,0xef,0xe0,0x00,  //........@@@..
0x00,0x00,0x00,0x08,0xee,0x80,0x00,  //.......+@@+..
0x00,0x00,0x00,0x0e,0xfe,0x00,0x00,  //.......@@@...
0x00,0x00,0x00,0x8e,0xe8,0x00,0x00,  //......+@@+...
0x00,0x00,0x00,0xef,0xe0,0x00,0x00,  //......@@@....
0x00,0x00,0x08,0xee,0x80,0x00,0x00,  //.....+@@+....
0x00,0x00,0x0e,0xfe,0x00,0x00,0x00,  //.....@@@.....
0x00,0x00,0x8e,0xe8,0x00,0x00,0x00,  //....+@@+.....
0x00,0x00,0xef,0xe0,0x00,0x00,0x00,  //....@@@......
0x00,0x08,0xee,0x80,0x00,0x00,0x00,  //...+@@+......
0x00,0x0e,0xfe,0x00,0x00,0x00,0x00,  //...@@@.......
0x00,0x8e,0xe8,0x00,0x00,0x00,0x00,  //..+@@+.......
0x00,0xef,0xe0,0x00,0x00,0x00,0x00,  //..@@@........
0x08,0xee,0x80,0x00,0x00,0x00,0x00,  //.+@@+........
0x05,0xec,0x00,0x00,0x00,0x00,0x00,  //.+@%.........


/* 0 */
0x00,0x03,0xce,0xfe,0xc3,0x00,0x00,  //....%@@@%....
0x00,0x3e,0xff,0xff,0xfe,0x00,0x00,  //...@@@@@@@...
0x00,0xcf,0xe5,0x08,0xef,0xa0,0x00,  //..%@@+.+@@%..
0x03,0xef,0xa0,0x00,0xaf,0xe3,0x00,  //..@@%...%@@..
0x08,0xee,0x50,0x00,0x5e,0xe8,0x00,  //.+@@+...+@@+.
0x08,0xee,0x30,0x00,0x5e,0xe8,0x00,  //.+@@....+@@+.
0x08,0xee,0x30,0x00,0x5e,0xe8,0x00,  //.+@@....+@@+.
0x08,0xee,0x30,0x00,0x5e,0xe8,0x00,  //.+@@....+@@+.
0x08,0xee,0x50,0x00,0x5e,0xe8,0x00,  //.+@@+...+@@+.
0x03,0xef,0xa0,0x00,0xaf,0xe3,0x00,  //..@@%...%@@..
0x00,0xcf,0xe5,0x08,0xef,0xa0,0x00,  //..%@@+.+@@%..
0x00,0x3e,0xff,0xff,0xfe,0x30,0x00,  //...@@@@@@@...
0x00,0x03,0xce,0xfe,0xc3,0x00,0x00,  //....%@@@%....


/* 1 */
0x00,0x00,0x5a,0xcc,0x00,0x00,0x00,  //....+%%%.....
0x03,0xef,0xff,0xfc,0x00,0x00,0x00,  //..@@@@@%.....
0x05,0xee,0xcc,0xfc,0x00,0x00,0x00,  //.+@@%%@%.....
0x00,0x00,0x0c,0xfc,0x00,0x00,0x00,  //.....%@%.....
0x00,0x00,0x0c,0xfc,0x00,0x00,0x00,  //.....%@%.....
0x00,0x00,0x0c,0xfc,0x00,0x00,0x00,  //.....%@%.....
0x00,0x00,0x0c,0xfc,0x00,0x00,0x00,  //.....%@%.....
0x00,0x00,0x0c,0xfc,0x00,0x00,0x00,  //.....%@%.....
0x00,0x00,0x0c,0xfc,0x00,0x00,0x00,  //.....%@%.....
0x00,0x00,0x0c,0xfc,0x00,0x00,0x00,  //.....%@%.....
0x00,0x00,0x0c,0xfc,0x00,0x00,0x00,  //.....%@%.....
0x05,0xef,0xff,0xff,0xff,0xe5,0x00,  //.+@@@@@@@@@+.
0x05,0xef,0xff,0xff,0xff,0xe5,0x00,  //.+@@@@@@@@@+.


/* 2 */
0x00,0x05,0xcf,0xfe,0xc3,0x00,0x00,  //...+%@@@%....
0x00,0xae,0xff,0xff,0xfe,0x50,0x00,  //..%@@@@@@@+..
0x05,0xef,0xe3,0x05,0xef,0xe0,0x00,  //.+@@@..+@@@..
0x0a,0xfe,0x50,0x00,0x8e,0xe5,0x00,  //.%@@+...+@@+.
0x08,0xec,0x00,0x00,0xaf,0xe5,0x00,  //.+@%....%@@+.
0x00,0x00,0x00,0x08,0xef,0xe3,0x00,  //.......+@@@..
0x00,0x00,0x00,0x8e,0xfe,0x80,0x00,  //......+@@@+..
0x00,0x00,0x0a,0xff,0xe8,0x00,0x00,  //.....%@@@+...
0x00,0x03,0xcf,0xfe,0x30,0x00,0x00,  //....%@@@.....
0x00,0x3e,0xff,0xc0,0x00,0x00,0x00,  //...@@@%......
0x08,0xef,0xe8,0x00,0x00,0x00,0x00,  //.+@@@+.......
0x3e,0xff,0xff,0xff,0xff,0xe3,0x00,  //.@@@@@@@@@@..
0x3e,0xff,0xff,0xff,0xff,0xe5,0x00,  //.@@@@@@@@@@+.


/* 3 */
0x00,0x08,0xcf,0xff,0xc5,0x00,0x00,  //...+%@@@%+...
0x03,0xef,0xff,0xff,0xfe,0xa0,0x00,  //..@@@@@@@@%..
0x03,0xee,0xa0,0x03,0xcf,0xe3,0x00,  //..@@%...%@@..
0x00,0x00,0x00,0x00,0x8e,0xe5,0x00,  //........+@@+.
0x00,0x00,0x00,0x03,0xef,0xe3,0x00,  //........@@@..
0x00,0x00,0x5e,0xff,0xfe,0xa0,0x00,  //....+@@@@@%..
0x00,0x00,0x5e,0xff,0xfe,0x80,0x00,  //....+@@@@@+..
0x00,0x00,0x00,0x05,0xef,0xe5,0x00,  //.......+@@@+.
0x00,0x00,0x00,0x00,0x3e,0xfc,0x00,  //.........@@%.
0x00,0x00,0x00,0x00,0x0e,0xfc,0x00,  //.........@@%.
0x0c,0xea,0x00,0x03,0xae,0xfa,0x00,  //.%@%....%@@%.
0x0c,0xff,0xff,0xff,0xff,0xc0,0x00,  //.%@@@@@@@@%..
0x00,0x8c,0xff,0xfe,0xc8,0x00,0x00,  //..+%@@@@%+...


/* 4 */
0x00,0x00,0x00,0xaf,0xfe,0x00,0x00,  //......%@@@...
0x00,0x00,0x05,0xef,0xfe,0x00,0x00,  //.....+@@@@...
0x00,0x00,0x0e,0xff,0xfe,0x00,0x00,  //.....@@@@@...
0x00,0x00,0x8e,0xfc,0xfe,0x00,0x00,  //....+@@%@@...
0x00,0x03,0xef,0xec,0xfe,0x00,0x00,  //....@@@%@@...
0x00,0x0c,0xfe,0x5c,0xfe,0x00,0x00,  //...%@@+%@@...
0x00,0x5e,0xfc,0x0c,0xfe,0x00,0x00,  //..+@@%.%@@...
0x00,0xef,0xe3,0x0c,0xfe,0x00,0x00,  //..@@@..%@@...
0x08,0xef,0xff,0xff,0xff,0xe5,0x00,  //.+@@@@@@@@@+.
0x08,0xef,0xff,0xff,0xff,0xe5,0x00,  //.+@@@@@@@@@+.
0x00,0x00,0x00,0x0c,0xfe,0x00,0x00,  //.......%@@...
0x00,0x00,0x0c,0xff,0xff,0xe5,0x00,  //.....%@@@@@+.
0x00,0x00,0x0c,0xff,0xff,0xe5,0x00,  //.....%@@@@@+.


/* 5 */
0x00,0xcf,0xff,0xff,0xff,0xc0,0x00,  //..%@@@@@@@%..
0x00,0xcf,0xff,0xff,0xff,0xc0,0x00,  //..%@@@@@@@%..
0x00,0xcf,0xe0,0x00,0x00,0x00,0x00,  //..%@@........
0x00,0xcf,0xe0,0x00,0x00,0x00,0x00,  //..%@@........
0x00,0xcf,0xec,0xff,0xe8,0x00,0x00,  //..%@@%@@@+...
0x00,0xcf,0xff,0xff,0xff,0xa0,0x00,  //..%@@@@@@@%..
0x00,0xae,0xc5,0x03,0xcf,0xe5,0x00,  //..%@%+..%@@+.
0x00,0x00,0x00,0x00,0x3e,0xfa,0x00,  //.........@@%.
0x00,0x00,0x00,0x00,0x0e,0xfc,0x00,  //.........@@%.
0x00,0x00,0x00,0x00,0x3e,0xfc,0x00,  //.........@@%.
0x0c,0xea,0x30,0x03,0xcf,0xe8,0x00,  //.%@%....%@@+.
0x0c,0xff,0xff,0xff,0xff,0xc0,0x00,  //.%@@@@@@@@%..
0x00,0x5c,0xef,0xfe,0xc5,0x00,0x00,  //..+%@@@@%+...


/* 6 */
0x00,0x00,0x03,0xae,0xff,0xea,0x00,  //......%@@@@%.
0x00,0x00,0x5e,0xff,0xff,0xfc,0x00,  //....+@@@@@@%.
0x00,0x08,0xef,0xe8,0x00,0x00,0x00,  //...+@@@+.....
0x00,0x3e,0xfe,0x30,0x00,0x00,0x00,  //...@@@.......
0x00,0xaf,0xe5,0x00,0x00,0x00,0x00,  //..%@@+.......
0x00,0xef,0xcc,0xff,0xea,0x00,0x00,  //..@@%%@@@%...
0x00,0xef,0xff,0xff,0xff,0xe0,0x00,  //..@@@@@@@@@..
0x00,0xef,0xfe,0x50,0xae,0xfa,0x00,  //..@@@@+.%@@%.
0x00,0xcf,0xe5,0x00,0x0c,0xfe,0x00,  //..%@@+...%@@.
0x00,0xaf,0xe0,0x00,0x0c,0xfe,0x00,  //..%@@....%@@.
0x00,0x5e,0xfa,0x00,0x5e,0xfc,0x00,  //..+@@%..+@@%.
0x00,0x0a,0xff,0xff,0xff,0xe5,0x00,  //...%@@@@@@@+.
0x00,0x00,0x8c,0xff,0xec,0x30,0x00,  //....+%@@@%...


/* 7 */
0x0a,0xff,0xff,0xff,0xff,0xe5,0x00,  //.%@@@@@@@@@+.
0x0a,0xff,0xff,0xff,0xff,0xe5,0x00,  //.%@@@@@@@@@+.
0x08,0xee,0x00,0x00,0xaf,0xe3,0x00,  //.+@@....%@@..
0x00,0x00,0x00,0x00,0xef,0xc0,0x00,  //........@@%..
0x00,0x00,0x00,0x05,0xee,0x80,0x00,  //.......+@@+..
0x00,0x00,0x00,0x0c,0xfe,0x30,0x00,  //.......%@@...
0x00,0x00,0x00,0x3e,0xfc,0x00,0x00,  //.......@@%...
0x00,0x00,0x00,0x8e,0xe5,0x00,0x00,  //......+@@+...
0x00,0x00,0x00,0xcf,0xe0,0x00,0x00,  //......%@@....
0x00,0x00,0x03,0xef,0xa0,0x00,0x00,  //......@@%....
0x00,0x00,0x08,0xee,0x50,0x00,0x00,  //.....+@@+....
0x00,0x00,0x0c,0xfe,0x00,0x00,0x00,  //.....%@@.....
0x00,0x00,0x0c,0xe8,0x00,0x00,0x00,  //.....%@+.....


/* 8 */
0x00,0x05,0xcf,0xff,0xc5,0x00,0x00,  //...+%@@@%+...
0x00,0xcf,0xff,0xff,0xff,0xa0,0x00,  //..%@@@@@@@%..
0x05,0xef,0xc3,0x03,0xcf,0xe5,0x00,  //.+@@%...%@@+.
0x08,0xee,0x30,0x00,0x5e,0xe8,0x00,  //.+@@....+@@+.
0x05,0xef,0xc3,0x03,0xcf,0xe5,0x00,  //.+@@%...%@@+.
0x00,0x8e,0xff,0xff,0xfe,0x80,0x00,  //..+@@@@@@@+..
0x00,0x8e,0xff,0xff,0xfe,0x80,0x00,  //..+@@@@@@@+..
0x03,0xef,0xe5,0x05,0xef,0xe3,0x00,  //..@@@+.+@@@..
0x08,0xee,0x50,0x00,0x8e,0xe8,0x00,  //.+@@+...+@@+.
0x08,0xee,0x30,0x00,0x5e,0xe8,0x00,  //.+@@....+@@+.
0x05,0xef,0xc3,0x03,0xcf,0xe5,0x00,  //.+@@%...%@@+.
0x00,0xaf,0xff,0xff,0xff,0xa0,0x00,  //..%@@@@@@@%..
0x00,0x05,0xcf,0xff,0xc5,0x00,0x00,  //...+%@@@%+...


/* 9 */
0x00,0x03,0xce,0xff,0xc5,0x00,0x00,  //....%@@@%+...
0x00,0x3e,0xff,0xff,0xfe,0x80,0x00,  //...@@@@@@@+..
0x00,0xcf,0xe8,0x03,0xcf,0xe3,0x00,  //..%@@+..%@@..
0x00,0xef,0xc0,0x00,0x3e,0xe8,0x00,  //..@@%....@@+.
0x00,0xef,0xc0,0x00,0x3e,0xfc,0x00,  //..@@%....@@%.
0x00,0xaf,0xe8,0x05,0xef,0xfe,0x00,  //..%@@+.+@@@@.
0x00,0x3e,0xff,0xff,0xff,0xfe,0x00,  //...@@@@@@@@@.
0x00,0x03,0xae,0xff,0xcc,0xfe,0x00,  //....%@@@%%@@.
0x00,0x00,0x00,0x00,0x5e,0xfc,0x00,  //........+@@%.
0x00,0x00,0x00,0x03,0xef,0xe5,0x00,  //........@@@+.
0x00,0x00,0x00,0x8e,0xff,0xa0,0x00,  //......+@@@%..
0x00,0xcf,0xff,0xff,0xea,0x00,0x00,  //..%@@@@@@%...
0x00,0xae,0xff,0xea,0x30,0x00,0x00,  //..%@@@@%.....


/* B */
0xcf,0xff,0xff,0xff,0xea,0x00,0x00,  //%@@@@@@@@%...
0xcf,0xff,0xff,0xff,0xff,0xe0,0x00,  //%@@@@@@@@@@..
0x03,0xee,0x80,0x00,0x8e,0xe8,0x00,  //..@@+...+@@+.
0x03,0xee,0x80,0x00,0x3e,0xfa,0x00,  //..@@+....@@%.
0x03,0xee,0x80,0x03,0xcf,0xe8,0x00,  //..@@+...%@@+.
0x03,0xef,0xff,0xff,0xff,0xe0,0x00,  //..@@@@@@@@@..
0x03,0xef,0xff,0xff,0xff,0xfa,0x00,  //..@@@@@@@@@%.
0x03,0xee,0x80,0x00,0x3c,0xfe,0x80,  //..@@+....%@@+
0x03,0xee,0x80,0x00,0x03,0xef,0xa0,  //..@@+.....@@%
0x03,0xee,0x80,0x00,0x08,0xef,0xa0,  //..@@+....+@@%
0xcf,0xff,0xff,0xff,0xff,0xfe,0x30,  //%@@@@@@@@@@@.
0xcf,0xff,0xff,0xff,0xfe,0xc3,0x00,  //%@@@@@@@@@%..


/* H */
0x5e,0xff,0xfe,0x3e,0xff,0xfe,0x50,  //+@@@@@.@@@@@+
0x5e,0xff,0xfe,0x3e,0xff,0xfe,0x50,  //+@@@@@.@@@@@+
0x03,0xee,0x80,0x00,0x8e,0xe5,0x00,  //..@@+...+@@+.
0x03,0xee,0x80,0x00,0x8e,0xe5,0x00,  //..@@+...+@@+.
0x03,0xee,0x80,0x00,0x8e,0xe5,0x00,  //..@@+...+@@+.
0x03,0xef,0xff,0xff,0xff,0xe5,0x00,  //..@@@@@@@@@+.
0x03,0xef,0xff,0xff,0xff,0xe5,0x00,  //..@@@@@@@@@+.
0x03,0xee,0x80,0x00,0x8e,0xe5,0x00,  //..@@+...+@@+.
0x03,0xee,0x80,0x00,0x8e,0xe5,0x00,  //..@@+...+@@+.
0x03,0xee,0x80,0x00,0x8e,0xe5,0x00,  //..@@+...+@@+.
0x5e,0xff,0xfe,0x3e,0xff,0xfe,0x50,  //+@@@@@.@@@@@+
0x5e,0xff,0xfe,0x3e,0xff,0xfe,0x50,  //+@@@@@.@@@@@+


/* K */
0xaf,0xff,0xfe,0x8e,0xff,0xfe,0x80,  //%@@@@@+@@@@@+
0xaf,0xff,0xfe,0x8e,0xff,0xfe,0x80,  //%@@@@@+@@@@@+
0x03,0xee,0x80,0x3e,0xff,0xa0,0x00,  //..@@+..@@@%..
0x03,0xee,0x85,0xef,0xe8,0x00,0x00,  //..@@++@@@+...
0x03,0xee,0x8e,0xfe,0x50,0x00,0x00,  //..@@+@@@+....
0x03,0xef,0xff,0xfe,0x50,0x00,0x00,  //..@@@@@@+....
0x03,0xef,0xff,0xff,0xe5,0x00,0x00,  //..@@@@@@@+...
0x03,0xef,0xc0,0x5e,0xfe,0x30,0x00,  //..@@%.+@@@...
0x03,0xee,0x80,0x08,0xef,0xc0,0x00,  //..@@+..+@@%..
0x03,0xee,0x80,0x00,0xcf,0xe5,0x00,  //..@@+...%@@+.
0xaf,0xff,0xfe,0x80,0x5e,0xff,0xe0,  //%@@@@@+.+@@@@
0xaf,0xff,0xfe,0x80,0x0c,0xff,0xe0,  //%@@@@@+..%@@@


/* M */
0xef,0xfe,0x30,0x00,0x3e,0xff,0xe0,  //@@@@.....@@@@
0xef,0xff,0xa0,0x00,0xaf,0xff,0xe0,  //@@@@%...%@@@@
0x5e,0xff,0xe3,0x03,0xef,0xfe,0x80,  //+@@@@...@@@@+
0x5e,0xff,0xfa,0x0a,0xff,0xfe,0x80,  //+@@@@%.%@@@@+
0x5e,0xee,0xfe,0x3e,0xfe,0xee,0x80,  //+@@@@@.@@@@@+
0x5e,0xe8,0xef,0xae,0xe8,0xee,0x80,  //+@@+@@%@@+@@+
0x5e,0xe5,0xef,0xff,0xe5,0xee,0x80,  //+@@+@@@@@+@@+
0x5e,0xe5,0x8e,0xfe,0x85,0xee,0x80,  //+@@++@@@++@@+
0x5e,0xe5,0x0e,0xfe,0x05,0xee,0x80,  //+@@+.@@@.+@@+
0x5e,0xe5,0x00,0x00,0x05,0xee,0x80,  //+@@+.....+@@+
0xff,0xff,0xe8,0x05,0xef,0xff,0xf0,  //@@@@@+.+@@@@@
0xff,0xff,0xe8,0x05,0xef,0xff,0xf0,  //@@@@@+.+@@@@@


/* W */
0xef,0xff,0xfc,0x0c,0xff,0xff,0xe0,  //@@@@@%.%@@@@@
0xef,0xff,0xfc,0x0c,0xff,0xff,0xe0,  //@@@@@%.%@@@@@
0x8e,0xe5,0x00,0x00,0x05,0xee,0x80,  //+@@+.....+@@+
0x5e,0xe8,0x0e,0xfe,0x08,0xee,0x50,  //+@@+.@@@.+@@+
0x3e,0xfa,0x8e,0xfe,0x5a,0xfe,0x30,  //.@@%+@@@+%@@.
0x3e,0xfc,0xcf,0xff,0xca,0xfe,0x00,  //.@@%%@@@%%@@.
0x0e,0xfc,0xef,0xcf,0xec,0xfc,0x00,  //.@@%@@%@@%@%.
0x0c,0xfe,0xee,0x8e,0xee,0xfc,0x00,  //.%@@@@+@@@@%.
0x0a,0xff,0xfe,0x0e,0xff,0xfa,0x00,  //.%@@@@.@@@@%.
0x08,0xef,0xfa,0x0a,0xff,0xe8,0x00,  //.+@@@%.%@@@+.
0x05,0xef,0xe3,0x05,0xef,0xe5,0x00,  //.+@@@..+@@@+.
0x05,0xef,0xc0,0x00,0xcf,0xe3,0x00,  //.+@@%...%@@..


/* s */
0x00,0x08,0xcf,0xff,0xee,0xe3,0x00,  //...+%@@@@@@..
0x00,0xcf,0xff,0xff,0xff,0xe5,0x00,  //..%@@@@@@@@+.
0x03,0xef,0xa0,0x00,0x8e,0xe3,0x00,  //..@@%...+@@..
0x00,0xef,0xfc,0xa8,0x50,0x00,0x00,  //..@@@%%++....
0x00,0x3c,0xef,0xff,0xfe,0xa0,0x00,  //...%@@@@@@%..
0x00,0x00,0x03,0x35,0xae,0xe8,0x00,  //.......+%@@+.
0x08,0xee,0x50,0x00,0x5e,0xfc,0x00,  //.+@@+...+@@%.
0x0a,0xff,0xff,0xff,0xff,0xe5,0x00,  //.%@@@@@@@@@+.
0x08,0xef,0xff,0xff,0xea,0x30,0x00,  //.+@@@@@@@%...


/* z */
0x03,0xef,0xff,0xff,0xff,0xe5,0x00,  //..@@@@@@@@@+.
0x03,0xef,0xff,0xff,0xff,0xe5,0x00,  //..@@@@@@@@@+.
0x00,0xee,0x80,0x5e,0xfe,0x80,0x00,  //..@@+.+@@@+..
0x00,0x00,0x05,0xef,0xe5,0x00,0x00,  //.....+@@@+...
0x00,0x00,0x5e,0xfe,0x50,0x00,0x00,  //....+@@@+....
0x00,0x08,0xef,0xe3,0x00,0x00,0x00,  //...+@@@......
0x00,0x8e,0xfe,0x30,0x3e,0xe8,0x00,  //..+@@@...@@+.
0x05,0xef,0xff,0xff,0xff,0xfa,0x00,  //.+@@@@@@@@@%.
0x05,0xef,0xff,0xff,0xff,0xfa,0x00,  //.+@@@@@@@@@%.


/* ℃ */
0x00,0x05,0x66,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //...+++................
0x00,0xaf,0xec,0xc5,0x08,0xef,0xec,0xfc,0x50,0x00,0x00,  //..%@@%%+.+@@@%@%+.....
0x00,0xce,0x8e,0xe8,0xcf,0xe5,0x00,0x3a,0xee,0xa5,0x00,  //..%@+@@+%@@+...%@@%+..
0x00,0xaf,0xee,0xca,0xfe,0x80,0x00,0x00,0xaf,0xe5,0x00,  //..%@@@%%@@+.....%@@+..
0x00,0x03,0x33,0x5e,0xfc,0x00,0x00,0x00,0x3c,0xc5,0x00,  //......+@@%.......%%+..
0x00,0x00,0x00,0xaf,0xe8,0x00,0x00,0x00,0x0a,0xa5,0x00,  //......%@@+.......%%+..
0x00,0x00,0x00,0xcf,0xe3,0x00,0x00,0x00,0x03,0x33,0x00,  //......%@@.............
0x00,0x00,0x00,0xef,0xe3,0x00,0x00,0x00,0x00,0x00,0x00,  //......@@@.............
0x00,0x00,0x00,0xef,0xe3,0x00,0x00,0x00,0x00,0x00,0x00,  //......@@@.............
0x00,0x00,0x00,0xef,0xe3,0x00,0x00,0x00,0x00,0x00,0x00,  //......@@@.............
0x00,0x00,0x00,0xcf,0xe5,0x00,0x00,0x00,0x00,0x00,0x00,  //......%@@+............
0x00,0x00,0x00,0x8e,0xe8,0x00,0x00,0x00,0x00,0x00,0x00,  //......+@@+............
0x00,0x00,0x00,0x3e,0xfe,0x00,0x00,0x00,0x08,0x83,0x00,  //.......@@@.......++...
0x00,0x00,0x00,0x0a,0xff,0xa0,0x00,0x03,0xcf,0xa0,0x00,  //.......%@@%.....%@%...
0x00,0x00,0x00,0x00,0xcf,0xea,0x33,0xae,0xe8,0x00,0x00,  //........%@@%..%@@+....
0x00,0x00,0x00,0x00,0x05,0xcc,0xcc,0xca,0x30,0x00,0x00,  //.........+%%%%%%......


/*  */
0x00,0x00,0x00,0x0c,0xff,0xfe,0x50,0x00,0x00,0x00,  //.......%@@@@+.......
0x00,0x00,0x00,0x0c,0xff,0xfe,0x50,0x00,0x00,0x00,  //.......%@@@@+.......
0x00,0x00,0x00,0x0c,0xff,0xfe,0x50,0x00,0x00,0x00,  //.......%@@@@+.......
0x00,0x00,0x00,0x0c,0xff,0xfe,0x50,0x00,0x00,0x00,  //.......%@@@@+.......
0x00,0x00,0x00,0x0c,0xff,0xfe,0x50,0x00,0x00,0x00,  //.......%@@@@+.......
0x00,0x00,0x00,0x0c,0xff,0xfe,0x50,0x00,0x00,0x00,  //.......%@@@@+.......
0x00,0x08,0xef,0xff,0xff,0xff,0xff,0xfe,0x00,0x00,  //...+@@@@@@@@@@@@....
0x00,0x03,0xef,0xff,0xff,0xff,0xff,0xea,0x00,0x00,  //....@@@@@@@@@@@%....
0x00,0x00,0x3e,0xff,0xff,0xff,0xfe,0xa0,0x00,0x00,  //.....@@@@@@@@@%.....
0x00,0x00,0x03,0xef,0xff,0xff,0xea,0x00,0x00,0x00,  //......@@@@@@@%......
0x00,0x00,0x00,0x3e,0xff,0xfe,0xa0,0x00,0x00,0x00,  //.......@@@@@%.......
0x00,0x00,0x00,0x03,0xef,0xea,0x00,0x00,0x00,0x00,  //........@@@%........
0xef,0xff,0xff,0xe5,0x3c,0xa0,0xcf,0xff,0xff,0xea,  //@@@@@@@+.%%.%@@@@@@%
0xef,0xff,0xff,0xfe,0x50,0x0c,0xff,0xff,0xff,0xfc,  //@@@@@@@@+..%@@@@@@@%
0xef,0xff,0xff,0xff,0xfe,0xef,0xff,0xff,0xff,0xfc,  //@@@@@@@@@@@@@@@@@@@%
0xef,0xff,0xff,0xff,0xff,0xff,0xfc,0x5e,0xc5,0xec,  //@@@@@@@@@@@@@%+@%+@%
0xef,0xff,0xff,0xff,0xff,0xff,0xfe,0xcf,0xec,0xfc,  //@@@@@@@@@@@@@@%@@%@%
0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,  //@@@@@@@@@@@@@@@@@@@%


/*  */
0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,  //....................
0x00,0x00,0x00,0x00,0xae,0xe3,0x00,0x00,0x00,0x00,  //........%@@.........
0x00,0x00,0x00,0x0a,0xef,0xfe,0x30,0x00,0x00,0x00,  //.......%@@@@........
0x00,0x00,0x00,0xae,0xff,0xff,0xe3,0x00,0x00,0x00,  //......%@@@@@@.......
0x00,0x00,0x0a,0xef,0xff,0xff,0xfe,0x30,0x00,0x00,  //.....%@@@@@@@@......
0x00,0x00,0xae,0xff,0xff,0xff,0xff,0xe3,0x00,0x00,  //....%@@@@@@@@@@.....
0x00,0x08,0xef,0xff,0xff,0xff,0xff,0xfe,0x00,0x00,  //...+@@@@@@@@@@@@....
0x00,0x03,0xaa,0xae,0xff,0xfe,0xca,0xa5,0x00,0x00,  //....%%%@@@@@%%%+....
0x00,0x00,0x00,0x0c,0xff,0xfe,0x50,0x00,0x00,0x00,  //.......%@@@@+.......
0x00,0x00,0x00,0x0c,0xff,0xfe,0x50,0x00,0x00,0x00,  //.......%@@@@+.......
0x00,0x00,0x00,0x0c,0xff,0xfe,0x50,0x00,0x00,0x00,  //.......%@@@@+.......
0x00,0x00,0x00,0x0c,0xff,0xfe,0x50,0x00,0x00,0x00,  //.......%@@@@+.......
0x00,0x00,0x00,0x0c,0xff,0xfe,0x50,0x00,0x00,0x00,  //.......%@@@@+.......
0x5a,0xaa,0xaa,0x53,0xaa,0xa8,0x0a,0xaa,0xaa,0x83,  //+%%%%%+.%%%+.%%%%%+.
0xef,0xff,0xff,0xe5,0x00,0x00,0xaf,0xff,0xff,0xfc,  //@@@@@@@+....%@@@@@@%
0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,  //@@@@@@@@@@@@@@@@@@@%
0xef,0xff,0xff,0xff,0xff,0xff,0xfe,0xcf,0xec,0xfc,  //@@@@@@@@@@@@@@%@@%@%
0xef,0xff,0xff,0xff,0xff,0xff,0xfc,0x5e,0xc5,0xec,  //@@@@@@@@@@@@@%+@%+@%
0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,  //@@@@@@@@@@@@@@@@@@@%
0x5a,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x83,  //+%%%%%%%%%%%%%%%%%+.


/*  */
0x00,0x0a,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0x00,0x00,  //...%@@@@@@@@@@@@@@@....
0x00,0x5e,0xea,0xaa,0xaa,0xaa,0xaa,0xaa,0xac,0xec,0x00,0x00,  //..+@@%%%%%%%%%%%%%@%...
0x00,0x5e,0xc0,0x00,0x00,0x00,0x00,0x00,0x05,0xec,0x00,0x00,  //..+@%............+@%...
0x00,0x5e,0xc0,0x00,0x00,0x00,0x00,0x00,0x05,0xec,0x00,0x00,  //..+@%............+@%...
0x00,0x5e,0xc0,0x00,0x00,0x00,0x00,0x00,0x05,0xec,0x00,0x00,  //..+@%............+@%...
0x00,0x5e,0xc0,0x00,0x00,0x00,0x00,0x00,0x05,0xec,0x00,0x00,  //..+@%............+@%...
0x00,0x5e,0xc0,0x00,0x00,0x00,0x00,0x00,0x05,0xec,0x00,0x00,  //..+@%............+@%...
0x00,0x5e,0xc0,0x00,0x00,0x00,0x00,0x00,0x05,0xec,0x00,0x00,  //..+@%............+@%...
0x00,0x5e,0xc0,0x00,0x00,0x00,0x00,0x00,0x05,0xec,0x00,0x00,  //..+@%............+@%...
0x00,0x5e,0xc0,0x00,0x00,0x00,0x00,0x00,0x05,0xec,0x00,0x00,  //..+@%............+@%...
0x00,0x5e,0xea,0xaa,0xaa,0xaa,0xaa,0xaa,0xac,0xec,0x00,0x00,  //..+@@%%%%%%%%%%%%%@%...
0x00,0x0a,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xe3,0x00,0x00,  //...%@@@@@@@@@@@@@@@....
0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x30,  //.......................
0xef,0xff,0xff,0xff,0xff,0xcc,0xef,0xff,0xff,0xff,0xff,0xc0,  //@@@@@@@@@@%%@@@@@@@@@@%
0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x80,  //%@@@@@@@@@@@@@@@@@@@@@+


/*  */
0x00,0x3e,0xff,0xff,0xff,0xff,0xff,0xe3,0x00,  //...@@@@@@@@@@@@...
0x00,0x5e,0xff,0xff,0xff,0xff,0xff,0xe5,0x00,  //..+@@@@@@@@@@@@+..
0x00,0x5e,0xff,0xff,0xff,0xff,0xff,0xe5,0x00,  //..+@@@@@@@@@@@@+..
0xcf,0xae,0xff,0xff,0xff,0xff,0xff,0xea,0xfc,  //%@%@@@@@@@@@@@@%@%
0x5a,0x8e,0xff,0xff,0xff,0xff,0xff,0xe8,0xa5,  //+%+@@@@@@@@@@@@+%+
0x00,0x5e,0xff,0xff,0xff,0xff,0xff,0xe5,0x00,  //..+@@@@@@@@@@@@+..
0xcf,0xae,0xff,0xff,0xff,0xff,0xff,0xea,0xfc,  //%@%@@@@@@@@@@@@%@%
0x5a,0x8e,0xff,0xff,0xff,0xff,0xff,0xe8,0xa5,  //+%+@@@@@@@@@@@@+%+
0x00,0x5e,0xff,0xff,0xff,0xff,0xff,0xe5,0x00,  //..+@@@@@@@@@@@@+..
0xcf,0xae,0xff,0xff,0xff,0xff,0xff,0xea,0xfc,  //%@%@@@@@@@@@@@@%@%
0x5a,0x8e,0xff,0xff,0xff,0xff,0xff,0xe8,0xa5,  //+%+@@@@@@@@@@@@+%+
0x00,0x5e,0xff,0xff,0xff,0xff,0xff,0xe5,0x00,  //..+@@@@@@@@@@@@+..
0xcf,0xae,0xff,0xff,0xff,0xff,0xff,0xea,0xfc,  //%@%@@@@@@@@@@@@%@%
0x5a,0x8e,0xff,0xff,0xff,0xff,0xff,0xe8,0xa5,  //+%+@@@@@@@@@@@@+%+
0x00,0x5e,0xff,0xff,0xff,0xff,0xff,0xe5,0x00,  //..+@@@@@@@@@@@@+..
0xcf,0xae,0xff,0xff,0xff,0xff,0xff,0xea,0xfc,  //%@%@@@@@@@@@@@@%@%
0x5a,0x8e,0xff,0xff,0xff,0xff,0xff,0xe8,0xa5,  //+%+@@@@@@@@@@@@+%+
0x00,0x5e,0xff,0xff,0xff,0xff,0xff,0xe5,0x00,  //..+@@@@@@@@@@@@+..
0x00,0x5e,0xff,0xff,0xff,0xff,0xff,0xe5,0x00,  //..+@@@@@@@@@@@@+..
0x00,0x05,0xaa,0xaa,0xaa,0xaa,0xaa,0x50,0x00,  //...+%%%%%%%%%%+...


};


static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
    {.bitmap_index = 0,	.adv_w = 13, .box_h = 3, .box_w = 14, .ofs_x = 0, .ofs_y = 6},/*(.)*/
    {.bitmap_index = 21,	.adv_w = 13, .box_h = 17, .box_w = 14, .ofs_x = 0, .ofs_y = 4},/*(/)*/
    {.bitmap_index = 140,	.adv_w = 13, .box_h = 13, .box_w = 14, .ofs_x = 0, .ofs_y = 6},/*(0)*/
    {.bitmap_index = 231,	.adv_w = 13, .box_h = 13, .box_w = 14, .ofs_x = 0, .ofs_y = 6},/*(1)*/
    {.bitmap_index = 322,	.adv_w = 13, .box_h = 13, .box_w = 14, .ofs_x = 0, .ofs_y = 6},/*(2)*/
    {.bitmap_index = 413,	.adv_w = 13, .box_h = 13, .box_w = 14, .ofs_x = 0, .ofs_y = 6},/*(3)*/
    {.bitmap_index = 504,	.adv_w = 13, .box_h = 13, .box_w = 14, .ofs_x = 0, .ofs_y = 6},/*(4)*/
    {.bitmap_index = 595,	.adv_w = 13, .box_h = 13, .box_w = 14, .ofs_x = 0, .ofs_y = 6},/*(5)*/
    {.bitmap_index = 686,	.adv_w = 13, .box_h = 13, .box_w = 14, .ofs_x = 0, .ofs_y = 6},/*(6)*/
    {.bitmap_index = 777,	.adv_w = 13, .box_h = 13, .box_w = 14, .ofs_x = 0, .ofs_y = 6},/*(7)*/
    {.bitmap_index = 868,	.adv_w = 13, .box_h = 13, .box_w = 14, .ofs_x = 0, .ofs_y = 6},/*(8)*/
    {.bitmap_index = 959,	.adv_w = 13, .box_h = 13, .box_w = 14, .ofs_x = 0, .ofs_y = 6},/*(9)*/
    {.bitmap_index = 1050,	.adv_w = 13, .box_h = 12, .box_w = 14, .ofs_x = 0, .ofs_y = 6},/*(B)*/
    {.bitmap_index = 1134,	.adv_w = 13, .box_h = 12, .box_w = 14, .ofs_x = 0, .ofs_y = 6},/*(H)*/
    {.bitmap_index = 1218,	.adv_w = 13, .box_h = 12, .box_w = 14, .ofs_x = 0, .ofs_y = 6},/*(K)*/
    {.bitmap_index = 1302,	.adv_w = 13, .box_h = 12, .box_w = 14, .ofs_x = 0, .ofs_y = 6},/*(M)*/
    {.bitmap_index = 1386,	.adv_w = 13, .box_h = 12, .box_w = 14, .ofs_x = 0, .ofs_y = 6},/*(W)*/
    {.bitmap_index = 1470,	.adv_w = 13, .box_h = 9, .box_w = 14, .ofs_x = 0, .ofs_y = 6},/*(s)*/
    {.bitmap_index = 1533,	.adv_w = 13, .box_h = 9, .box_w = 14, .ofs_x = 0, .ofs_y = 6},/*(z)*/
    {.bitmap_index = 1596,	.adv_w = 22, .box_h = 16, .box_w = 22, .ofs_x = 0, .ofs_y = 5},/*(℃)*/
    {.bitmap_index = 1772,	.adv_w = 20, .box_h = 18, .box_w = 20, .ofs_x = 0, .ofs_y = 2},/*()*/
    {.bitmap_index = 1952,	.adv_w = 20, .box_h = 20, .box_w = 20, .ofs_x = 0, .ofs_y = 1},/*()*/
    {.bitmap_index = 2152,	.adv_w = 23, .box_h = 15, .box_w = 24, .ofs_x = 0, .ofs_y = 4},/*()*/
    {.bitmap_index = 2332,	.adv_w = 18, .box_h = 20, .box_w = 18, .ofs_x = 0, .ofs_y = 1},/*()*/
};


static const uint16_t unicode_list_1[] = {
    0x002e,	/*(.)*/
    0x002f,	/*(/)*/
    0x0030,	/*(0)*/
    0x0031,	/*(1)*/
    0x0032,	/*(2)*/
    0x0033,	/*(3)*/
    0x0034,	/*(4)*/
    0x0035,	/*(5)*/
    0x0036,	/*(6)*/
    0x0037,	/*(7)*/
    0x0038,	/*(8)*/
    0x0039,	/*(9)*/
    0x0042,	/*(B)*/
    0x0048,	/*(H)*/
    0x004b,	/*(K)*/
    0x004d,	/*(M)*/
    0x0057,	/*(W)*/
    0x0073,	/*(s)*/
    0x007a,	/*(z)*/
    0x2103,	/*(℃)*/
    0xf019,	/*()*/
    0xf093,	/*()*/
    0xf109,	/*()*/
    0xf2db,	/*()*/
    0x0000,    /*End indicator*/
};


static const lv_font_fmt_txt_cmap_t cmaps[] = {
    {
        .range_start = 0x002e,
        .range_length = 0xf2db,
        .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY,
        .glyph_id_start = 0,
        .unicode_list = unicode_list_1,
        .glyph_id_ofs_list = NULL,
        .list_length = 24,
    }
};

static lv_font_fmt_txt_glyph_cache_t glyph_cache = {
    .last_letter = 0xf2db,
    .last_glyph_id = 23,
};

static lv_font_fmt_txt_dsc_t font_dsc = {
    .glyph_bitmap = glyph_bitmap,
    .glyph_dsc = glyph_dsc,
    .cmaps = cmaps,
    .cmap_num = 1,
    .bpp = 4,

    .kern_scale = 0,
    .kern_dsc = NULL,
    .kern_classes = 0,

    .cache = &glyph_cache
};


static int binsearch(const uint16_t *sortedSeq, int seqLength, uint16_t keyData) {
    int low = 0, mid, high = seqLength - 1;
    while (low <= high) {
        mid = (low + high)>>1;//右移1位等于是/2，奇数，无论奇偶，有个值就行
        if (keyData < sortedSeq[mid]) {
            high = mid - 1;//是mid-1，因为mid已经比较过了
        }
        else if (keyData > sortedSeq[mid]) {
            low = mid + 1;
        }
        else {
            return mid;
        }
    }
    return -1;
}


static const uint8_t * __user_font_get_bitmap(const lv_font_t * font, uint32_t unicode_letter) {
    lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc;

    if( unicode_letter<fdsc->cmaps[0].range_start || unicode_letter>fdsc->cmaps[0].range_length ) return false;

    int i;
    if( unicode_letter==fdsc->cache->last_letter ){
        i = fdsc->cache->last_glyph_id;
    }
    else{
        i = binsearch(fdsc->cmaps[0].unicode_list, fdsc->cmaps[0].list_length, unicode_letter);
    }
    if( i != -1 ) {
        const lv_font_fmt_txt_glyph_dsc_t * gdsc = &fdsc->glyph_dsc[i];
        fdsc->cache->last_glyph_id = i;
        fdsc->cache->last_letter = unicode_letter;
        return &fdsc->glyph_bitmap[gdsc->bitmap_index];
    }
    return NULL;
}


static bool __user_font_get_glyph_dsc(const lv_font_t * font, lv_font_glyph_dsc_t * dsc_out, uint32_t unicode_letter, uint32_t unicode_letter_next) {
    lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc;

    if( unicode_letter<fdsc->cmaps[0].range_start || unicode_letter>fdsc->cmaps[0].range_length ) return false;

    int i;
    if( unicode_letter==fdsc->cache->last_letter ){
        i = fdsc->cache->last_glyph_id;
    }
    else{
        i = binsearch(fdsc->cmaps[0].unicode_list, fdsc->cmaps[0].list_length, unicode_letter);
    }
    if( i != -1 ) {
        const lv_font_fmt_txt_glyph_dsc_t * gdsc = &fdsc->glyph_dsc[i];
        fdsc->cache->last_glyph_id = i;
        fdsc->cache->last_letter = unicode_letter;
        dsc_out->adv_w = gdsc->adv_w;
        dsc_out->box_h = gdsc->box_h;
        dsc_out->box_w = gdsc->box_w;
        dsc_out->ofs_x = gdsc->ofs_x;
        dsc_out->ofs_y = gdsc->ofs_y;
        dsc_out->bpp   = fdsc->bpp;
        return true;
    }
    return false;
}


//Courier New,Bold,16
//字模高度：23
//内部字体
//使用排序和二分查表
lv_font_t lv_font_ibmplex_16 = {
    .dsc = &font_dsc,
    .get_glyph_bitmap = __user_font_get_bitmap,
    .get_glyph_dsc = __user_font_get_glyph_dsc,
    .line_height = 23,
    .base_line = 0,
};

